package com.maruping.disk.login.repository;

import com.maruping.disk.mybatis.entity.PtMenuEntity;
import com.maruping.disk.mybatis.entity.PtUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface LoginDao {
    PtUserEntity queryUserInfoByName(@Param("username") String username);

    /**
     * 查询菜单列表
     * @param lang
     * @param userUuid
     * @return
     */
    List<PtMenuEntity> queryMenuList(@Param("lang") String lang,@Param("userUuid") String userUuid);

    /**
     * 查询权限列表
     * @param userUuid
     * @return
     */
    List<String> queryPermissionList(String userUuid);

    /**
     * 根据邮箱查询用户信息
     * @param email 用户邮箱
     * @return 用户实体（不存在时返回null）
     */
    PtUserEntity queryUserByEmail(String email);

    /**
     * 根据邮箱更新用户密码
     * @param email 用户邮箱
     * @param newPassword 新密码（建议已加密）
     */
    void updatePasswordByEmail(@Param("email") String email, @Param("newPassword") String newPassword);
}
